Skip to content

Conversation

@TheJorgeBorras
Copy link
Member

@TheJorgeBorras TheJorgeBorras commented Nov 5, 2025

On Code Review:

  • New Webview Panel to Provide Feedback for the DevAssist
  • HTML pages and rendering for different scenarios
  • Basic HTML and Javascript logic (missing CSS).
  • Proper Client-side field validation
  • Proper error handling and error messages.

Missing from the code review

  • Review CSS files and Styling on HTML files.
  • Maintain State and info of Feedback Form when reloading page/swappiing/throwing error.

@TheJorgeBorras TheJorgeBorras self-assigned this Nov 5, 2025
@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Nov 5, 2025
@TheJorgeBorras TheJorgeBorras marked this pull request as ready for review November 10, 2025 09:23
…op-UI

# Conflicts:
#	packages/vscode-extension/messages.json
#	packages/vscode-extension/src/service/TranslationKeys.ts
]

let feedbackFormPanel: vscode.WebviewPanel | undefined;
let vscodeExtensionMediaPath : string;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like to have a service that can get the html content instead of constructing the path each time. It will make the implementation cleaner.

Copy link
Member Author

@TheJorgeBorras TheJorgeBorras Nov 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implemented a MediaFileService (naming could be improved).

It mostly does what we discussed, the only limitation being that CSS file paths must be relative to the VSCode.WebView. Therefore, the cssUri must be calculated on the WebViewController and passed to the MediaFileService.


// Handle messages/events sent from the webview
feedbackFormPanel.webview.onDidReceiveMessage(
(webviewMessage) => handleWebviewMessage(webviewMessage, feedbackFormCSSFilePath),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I would prefer webviewEvent instead of webviewMessage

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

return true;
}

const handleWebviewMessage = async (webviewMessage : any, feedbackFormCSSFilePath : string) : Promise<void> => {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets try to shape the webviewMessage/webviewEvent with a proper type.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

} catch (error) {
// VSCODE ERROR, PROXY_NOT_LOADED, PROXY_ERROR, REQUEST_FORMATING_ERROR (Not even a response received)
vsLogger.printTimestamp();
vsLogger.error(translationService.getMessage(DEVASSIST_SERVICE.FEEDBACK_FORM.SUBMITTING_ERROR_TOAST, error ? '\n' + error : ''));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be the internal error?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Guess I copied/pasted too quickly.
Solved

@davidecorreu davidecorreu merged commit 2caaf86 into dev Nov 17, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OCA Verified All contributors have signed the Oracle Contributor Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants